#ifndef CICORE_MATERIALLIB_H
#define CICORE_MATERIALLIB_H

#include <vector>
#include <map>

#include "Material.h"

namespace CICore {
    class MaterialLib {

    public:
        MaterialLib();              //Constructor
        virtual ~MaterialLib();     //Destructor

    protected: 
        std::map<const char*, Material*> materials;     //The materials of the library

    public:
        //Utility Methods
        bool Add (Material* m);                         //Method called to add a material in the library
        Material* Get (const char* matName);            //Method called to get a material from the library
        void Remove (const char* matName);              //Method called to remove a material from the library
    };
}

#endif /* CICORE_MATERIALLIB_H */
